package com.aia.prm.service;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.springframework.transaction.PlatformTransactionManager;

import com.aia.aia4.web.json.Aia4Form1Json;
import com.aia.prm.domain.Qnae;
import com.aia.prm.domain.Qnbe;
import com.aia.prm.domain.Qnde;
import com.aia.prm.domain.VOFile;
import com.aia.prm.domain.VOLms;
import com.aia.prm.web.Form1Action;
import com.aia.prm.web.Form2Action;
import com.aia.prm.web.IndexAction;
import com.aia.prm.web.ResultAction;
import com.aia.prm.web.h7n9.H7n9Form;
import com.aia.prm.web.json.PrmForm2Json;
import com.aia.prm.web.json.PrmForm3Json;
import com.aia.prm.web.json.PrmResultJson;
import com.aia.prm.web.json.PrmSmsJson;
import com.aia.prm.web.json.PrmZanJson;
import com.aia.prm.web.qne.CorpAction;
import com.aia.prm.web.qne.CorpAxAction;
import com.aia.prm.web.qne.CorpAysAction;
import com.aia.prm.web.qne.CorpCouponAction;
import com.aia.prm.web.qne.CorpTypaAction;
import com.aia.prm.web.sanity.Testws1Action;
import com.aia.prm.web.sanity.Testws2Action;
import com.cfh.domain.User;
import com.cfh.persistence.dao.ConfigDAO;

public interface DefaultService {
	public PlatformTransactionManager getTransactionManager();
	public ConfigDAO getConfigDAO();

	public User getUserByUsernameAndPassword(String username, String password);

	public void changePassword(User user, String password);

	public List selectConfig();
	public void executeTestws1(Testws1Action testws1Action);
	public void executeTestws2(Testws2Action testws2Action);
	public void getAllPlan(IndexAction indexAction);
	public void getForm1(Form1Action form1Action);
	public void PrmForm1Json(Aia4Form1Json prmForm1Json);
	public void getForm2(Form2Action form2Action);
	public void PrmSmsJson(PrmSmsJson prmSmsJson);
	public void PrmForm2Json(PrmForm2Json prmForm2Json);
	public void getResult(ResultAction resultAction);
	public void preparePlans(HttpServletRequest request);
	public VOFile getVOFile(String id);
	public String makeLmsTmplate(VOLms lookup);
	public ServiceResult sentLms(VOLms bean, boolean shouldCheckMobile);
	public VOLms fetchOneLms(String refid);
	public void PrmForm3Json(PrmForm3Json prmForm3Json);
	public void saveFile(VOFile myImage);
	public void updateQne(CorpAction corpAction);
	public void PrmResultJson(PrmResultJson prmResultJson);
	public void updateQneAx(CorpAxAction corpAxAction);
	public void updateQneTypa(CorpTypaAction corpTypaAction);
	
	public String makeAxLmsTmplate(Qnbe lookup);
	public String makeAysLmsTmplate(Qnde lookup);
	public String makeTypaLmsTmplate(Qnae lookup);
	public ServiceResult sendTypaLms(Qnae lookup);
	public ServiceResult sendAxLms(Qnbe lookup);
	public ServiceResult sendAysLms(Qnde lookup);
	public void updateCoupon(CorpCouponAction action);
	public void updateQneAys(CorpAysAction action);
	public void H7n9Form(H7n9Form action);
	public void PrmZanJson(PrmZanJson prmZanJson);
	public void preparePlans2(HttpServletRequest request);
	public void resendLms();

}
